Kontroller Windows uygulamalarının temel yapısını oluşturur. Kontroller, kullanıcının programla iletişimini sağlayan ve girdiği verileri kullanılmak üzere programa ileten program elemanlarıdır. Programa ekleyeceğimiz her kontrol, aslında program ana penceresi altında oluşturacağımız bir alt penceredir. Program içinde yer alan bütün kontroller bir pencere olarak oluşturulur. Oluşturulan kontrol pencereleri ana program penceresine veya kendisine ait bir mesaj işlem fonksiyonunu kullanabilir.
Kontrol penceresi oluşturulurken, CreateWindowEx() fonksiyonunun lpClassName parametresi için 3 farklı sınıf değeri kullanılabilir:
Kontrol penceresi oluşturulurken, CreateWindowEx() fonksiyonunun lpClassName parametresi için yukarıda belirtilen sınıflarda yer alan değerlerden biri kullanılır. Kullanılan sistem değerine bağlı olarak CreateWindowEx() fonksiyonunun dwStyle parametresi farklı değerler alabilir.
HWND CreateWindowExA( DWORD dwExStyle, LPCSTR lpClassName, LPCSTR lpWindowName, DWORD dwStyle, int X, int Y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam );
Aşağıda tüm programlar tarafından kullanılabilecek sistem sınıfları yer almaktadır.
STATIC, EDIT, BUTTON, LISTBOX, COMBOBOX, RICHEDIT_CLASS, SCROLLBAR, MDICLIENT
Aşağıda genel kontrol kütüphanesi tarafından sağlanan ve kontrol oluşturmada kullanılan sınıflar yer almaktadır.
Genel control sınıflarını kullanarak bir kontrol oluşturmak için, commctrl.h başlık dosyasını programımıza dahil etmemiz gerekir.
Sabit değer | Açıklama |
---|---|
ANIMATE_CLASS | Sessiz AVI kliplerini görüntüleyen Animasyon kontrolleri oluşturur. |
DATETIMEPICK_CLASS | Kullanıcıların tarih ve zaman bilgilerini değiştirmesi için basit bir arayüz sağlayan tarih ve zaman seçme kontrolleri oluşturur. |
HOTKEY_CLASS | Kullanıcının kısayol tuşlarını tanımlamasını sağlayan kısayol tuşu denetimleri oluşturur. |
LINK_CLASS | Bağlantılar ile kullanılan Syslink kontrolleri oluşturur. |
MONTHCAL_CLASS | Kullanıcıların bir arayüzden bir tarih seçmesi için ay takvim kontrolleri oluşturur. |
NATIVEFNTCTL_CLASS | Yerel yazı tipleri ile kullanılan yerel yazı tipi denetimleri oluşturur. |
PROGRESS_CLASS | Uzun süren bir işlemin ilerleme durumunu gösteren ilerleme kontrolleri oluşturur. |
REBARCLASSNAME | Çocuk pencereler için konteyner görevi yapan Rebar kontrolleri oluşturur. |
STANDARD_CLASSES | Buton, Edit gibi kontroller oluşturur. |
STATUSCLASSNAME | Yatay bir pencerede durum bilgisini görüntüleyen durum pencereleri oluşturur. |
TOOLBARCLASSNAME | Menü komutlarını çalıştıran butonların yer aldığı araç çubukları oluşturur. |
TOOLTIPS_CLASS | Bir uygulamada bir aracın amacını açıklayan bir metin satırı içeren küçük bir pencere açan araç ipucu kontrolleri oluşturur. |
TRACKBAR_CLASS | Kullanıcıların bir Slider'ı hareket ettirerek bir dizi değerden seçimm yapmasını sağlayan çubuklar oluşturur. |
UPDOWN_CLASS | Tıklandığında Edit kontrolü içindeki değeri değiştiren bir çift oku Edit kontrolü ile birleştirerek yukarı-aşağı kontrolleri oluşturur. |
WC_BUTTON | Kullanıcıların bir işlem yapmasını sağlayan buton kontrolü oluşturur. |
WC_COMBOBOX | Kullanıcıların tek bir öğe seçebileceği bir açılır liste içeren ComboBox kontrolü oluşturur. |
WC_COMBOBOXEX | Kullanıcıların tek bir öğe seçebileceği bir açılır liste içeren ComboBox kontrolü oluşturur. Ayrıca, ComboBox item'leri için resim tanımlama olanağı sağlar. |
WC_EDIT | Düzenlenebilir metin içeren Edit kontrolleri oluşturur. |
WC_HEADER | Bu kontroller, bilgi sütunlarının üstündeki başlıkları görüntüler ve kullanıcılar başlıkları tıkladığında bilgiyi sıralamasına olanak sağlayan başlık kontrolleri oluşturur. |
WC_LISTBOX | Bir değerler listesi içeren Listbox kontrolleri oluşturur. |
WC_IPADDRESS | IP adresi şeklinde sayısal bir adres girmenizi sağlayan IP adresi kontrolleri oluşturur. |
WC_LINK | Hypertext bağlantılar içeren SysLink kontrolleri oluşturur. |
WC_LISTVIEW | Her biri bir simge ve bir etiketden oluşan bir öğe koleksiyonu içeren ve öğeleri birkaç farklı şekilde görüntülemeyi sağlayan Listview kontrolleri oluşturur. |
WC_NATIVEFONTCTL | Mevcut sistem dilini görüntülemek için bir iletişim kutusunun önceden tanımlanmış denetimlerini etkinleştirmek için arka planda çalışan görünmez yerel yazı tipi kontrolleri oluşturur. |
WC_PAGESCROLLER | Başka bir pencere içermek ve kaydırmak için kullanılan sayfalama kontrolleri oluşturur. |
WC_SCROLLBAR | Kullanıcıların bir pencerenin içeriğini kaydırmasını sağlayan kaydırma çubuğu kontrolleri oluşturur. |
WC_STATIC | Düzenlenemeyen metin içeren statik kontroller oluşturur. |
WC_TABCONTROL | Bir pencerenin veya iletişim kutusunun alanı için birden çok sayfa tanımlayan ve her sayfa, kullanıcılar ilgili sekmeyi seçtiğinde uygulamanın görüntülediği bir bilgi kümesi veya kontrol grubundan oluşan tab kontrolü oluşturur. |
WC_TREEVIEW | Her bir öğenin bir etiket ve isteğe bağlı bir bitmap'ten oluştuğu hiyerarşik bir öğe listesinin yer aldığı Treeview kontrolleri oluşturur. |